package com.yy.main.app.service;

import com.github.pagehelper.PageInfo;
import com.yy.pojo.base.TRole;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 角色表服务类
 * </p>
 *
 * @author 杨阳
 * @since 2017-08-22
 */
public interface IRoleService {

    /**
     * <p>
     * 查询出后台管理，角色管理中的数据表格
     * </p>
     *
     * @param page  当前页数
     * @param limit 每页显示记录数
     * @param name  角色名称
     * @return {@link HashMap}
     * @author 杨阳
     * @since 2017年9月13日
     */
    public PageInfo roleTable(Integer page, Integer limit, String name);

    /**
     * <p>
     * 增加或修改角色
     * </p>
     *
     * @param role          角色的实体
     * @param permissionIds 与角色相关联的权限字符串
     * @return {@link Map}<String, Object>
     * @author 杨阳
     * @since 2017年9月14日
     */
    public Map<String, Object> saverole(TRole role, String permissionIds);

    /**
     * <p>
     * 为人员授权的时候的角色列表，如果当前用户拥的角色，则isown>0
     * </p>
     *
     * @param userid 用户id
     * @return {@link List}(Role)
     * @author 杨阳
     * @since 2017年9月19日
     */
    public List<TRole> userOwnRoleList(String userid);

}
